/*
 * Copyright (c) 2020, 2023, 3044483124@qq.com All rights reserved.
 *
 */
package cn.Fibonacci;

/**
 * <p>Project: JavaStudy - Altest
 * <p>Powered by jiangbo On 2023-03-01
 * 17:53:23
 * <p>Created by IntelliJ IDEA
 *
 * @author jiangbo [3044483124@qq.com]
 * @version 1.0
 * @since 8/17
 */
public class Altest {
    public static void main(String[] args) {
        int e = 10; // 指定输出前10项
        int a = 0; // 第一项
        int b = 1; // 第二项
        int c; // 当前项
        System.out.print(a + " " + b); // 打印前两项
        for (int i = 3; i <= e; i++) { // 从第三项开始循环
            c = a + b; // 计算当前项
            System.out.println(" " + c); // 打印当前项
            a = b; // 更新第一项为原来的第二项
            b = c; // 更新第二项为原来的当前项
        }

        int n = 10; // 指定输出前10项
        for (int i = 1; i <= n; i++) { // 循环调用递归函数并打印结果
            System.out.print(fibonacci(i) + " ");
        }
    }

    public static int fibonacci(int n) { // 定义递归函数
        if (n == 1 || n == 2) { // 基准情况：当n为1或2时返回1
            return 1;
        } else { // 递归情况：当n大于2时返回前两项之和
            return fibonacci(n - 1) + fibonacci(n - 2);
        }


    }

}


